Textual data storage system and method

ABSTRACT

A hand-held electronic device for use in accessing and displaying textual information. The device may include: a display for displaying information; a processor, a memory; and a word dictionary table stored in the memory, the word dictionary table may include a word list of unique words that are contained in the textual information. The word dictionary table may also include a set of word identification tokens, where each word identification token represents one of the unique words in the word list. The memory may also include a phrase dictionary table, which may include a phrase list of word identification token groups, each word identification token group representing a phrase that is contained in the textual information. The phrase dictionary table may further include a set of phrase identification tokens, each phrase identification token representing one of the phrases in the textual information. The memory may include a removable module.

RELATED APPLICATIONS

[0001] Priority is claimed to the following Patent Applications:

[0002] U.S. Provisional Patent Application No. 60/231,713, entitled“Hand Held Data Entry and Display Unit,” filed on Sep. 11, 2000;

[0003] U.S. Provisional Patent Application No. 60/239,269, entitled“Automotive Diagnostics Data Management,” filed on Oct. 12, 2000; and

[0004] U.S. Provisional Patent Application No. 60/295,746, entitled“Software-Based Vehicle Diagnostic System,” filed on Jun. 4, 2001.

[0005] The entirety of these Patent Applications is expresslyincorporated herein by reference.

COMPUTER PROGRAM LISTING APPENDIX

[0006] This application contains a computer program listing appendix.The appendix is fully incorporated herein by reference. The computerprogram listing comprises a single file named“VBDataConvertSourceCode.txt”.

COPYRIGHT

[0007] A portion of the disclosure of this patent document containsmaterial that is subject to copyright protection. The copyright ownerhas no objection to the facsimile reproduction by anyone of the patentdisclosure, as it appears in the Patent and Trademark Office patentfiles or records, but otherwise reserves all United States andInternational copyright rights whatsoever.

BACKGROUND

[0008] 1. Technical Field

[0009] A method and apparatus relating to the field of data storage,and, more particularly, a method and apparatus for storing, accessing,and presenting technical information for use in automotive maintenanceand repair, is disclosed.

[0010] 2. Description of Related Art

[0011] Recent advances in data storage techniques and the development ofportable digital assistants (PDAs) and similar devices have made itpossible for users to have immediate access to large amounts of data,literally at their fingertips. Such data may include names, phonenumbers, addresses, date books, documents, specialized wireless webpages, financial information, personal to-do lists, or calendars.

[0012] In addition to providing built-in functions, some PDAs includeexpansion slots for inserting modules. These modules allow for virtuallyunlimited functions to be performed by the devices, such as digitalphotography, MP3 music, memory expansion, games, modems, universalremote controls, or global positioning systems.

[0013] Some specialized hand-held devices (i.e., units that are notgeneral-purpose PDAs) have made limited amounts of technical data foruse in servicing and repairing automobiles available to users. One suchhand-held device provides specifications-dedicated information, such asbattery, ignition system, starter, belt tension, engine torque, wheelalignment, and wheel nut torque specifications for a range of vehiclesand model years. However, while specialized devices may save atechnician a trip to a shop manual for a specification, it is not areplacement for the comprehensive repair information contained in abound set of shop manuals, such as the manuals published by the MitchellRepair Information Company (MRIC). Specifically, MRIC illustrates thesteps in addition to the raw specifications needed to complete a repairor other operation. Also, specialized handhelds typically don't have anyprovision for a technician to enter his own information to help him keeptrack of (or share) what he learns through experience, or to maintain aninventory of his tools, for example.

[0014] In addition, updating a similar dedicated device is inconvenientand error-prone: it requires some disassembly of the unit and theremoval and replacement, by a user, of an internal memory component thatmay be sensitive to electrostatic discharge or other damage. Finally, bydefinition, specialized hand-held references do not providegeneral-purpose functionality, such as a calculator, date book, or to-dolist to help justify their purchase.

[0015] General purpose PDAs, on the other hand, do provide a wide rangeof functions, but due to memory limitations (and limitations of currentdata compression techniques), they can not store the comprehensiveamounts of data needed to make them viable alternatives to hardboundservice manuals. Thus, a better solution is desired.

SUMMARY

[0016] A hand-held electronic device for use in accessing and displayingtextual information, such as automotive repair specifications andprocedures, is disclosed. The device may (or may not be) ageneral-purpose PDA. If a general purpose PDA is used, the PDA can, ofcourse, be used for its other included functions when it is not beingused as a technician's reference tool. The device may comprise: adisplay for displaying information to a user; a processor; a memory; andat least one word dictionary table stored in the memory, the worddictionary table comprising a first list of unique words that arecontained in the textual information, and further comprising a set ofword identification tokens, each word identification token representingone of the unique words in the first list.

[0017] The device may also include at least one phrase dictionary tablestored in the memory, the phrase dictionary table comprising a secondlist of word identification token groups. Each word identification tokengroup in turn represents a phrase that is contained in the textualinformation. The phrase dictionary may further comprise a set of phraseidentification tokens, each phrase identification token representing oneof the phrases in the textual information.

[0018] A user may select various menu items (by, for example, using atouchscreen) to cause the device to display the desired information. Inresponse to the selection of a menu item, the device may display (inuncompressed, human-readable form) a portion of the textual informationstored in the memory.

[0019] In another embodiment, the memory may comprise one or more userremovable memory modules. Through the use of proven, rugged memorymodules that may be inserted in an external expansion slot, the datastored in memory can be easily updated. For example, if the device isused to store automotive reference data in accordance with one disclosedembodiment, modules containing specifications for other models of carscan be added. Moreover, modules with data of a type not contained onpreviously available modules may be supplied to users, greatly expandingthe functionality and flexibility of the device. For example, modulescould be developed to record and store operating temperatures of variouscomponents of a racecar, and the device could then be used to predictfailure or improve the performance of the racecar.

[0020] By first converting a set of textual information (such as repairinformation) into word tokens representing unique words in the text andthen screening the resulting list of tokens for repeating phrases, veryhigh compression ratios may be realized, especially where certainphrases are repeated in the text frequently. Because of this highcompression efficiency, much more data can be stored in a memory of agiven size. This compression efficiency, in turn, allows a significantamount of repair information, detailed procedures, specifications,technical service bulletins (TSBs), electrical component locators, to bestored, accessed and displayed from a single, hand-held device. Usingsuch a device, a technician could greatly reduce or even eliminate hisreliance on (and the inconvenience of) hardbound shop manuals for repairinformation. Further, using an efficient compression technique can freeup enough memory (either module-based or built-in) to allow a user tostore his own notes and tool inventory in the device for quickreference.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Exemplary embodiments of the present system and method aredescribed herein with reference to the drawings, in which:

[0022]FIG. 1 illustrates a hand-held electronic device with a root-levelSmart Data System (SDS) menu displayed;

[0023]FIG. 2 is a simplified block diagram illustrating a hand-heldelectronic device in which an exemplary embodiment of an SDS may beimplemented;

[0024]FIG. 3 is a flow chart illustrating the operation of an exemplaryembodiment of an SDS;

[0025]FIG. 4 is a table illustrating an exemplary embodiment of a worddictionary;

[0026]FIG. 5 is a table illustrating an exemplary embodiment of a phrasedictionary; and

[0027]FIG. 6 is a flow chart further illustrating the operation of anexemplary embodiment of an SDS.

DETAILED DESCRIPTION

[0028] A hand-held electronic device 10 with a root-level Smart DataSystem (SDS) menu 12 displayed is shown in FIG. 1. Hand-held electronicdevice 10 may be used to store, access, and display textual information.A simplified block diagram of hand-held electronic device 10 isillustrated in FIG. 2. The hand-held device could be a personal digitalassistant (PDA) or a similar device. Alternatively, the device could bea stand-alone unit: that is, it could be a device made specifically fordisplaying information as described herein and not having generalpurpose functionality. Thus, as used here, the term PDA includes anyhand-held electronic device capable of displaying and storinginformation.

[0029] The exemplary embodiment shown in FIG. 2 may have a processor 14(e.g., an integrated circuit microprocessor), a memory 16 (e.g., memorymodule, ROM, RAM, flash memory, hard disk), a synchronization (synch)interface 18, and a user interface 20 that may incorporate adisplay/input, such as a touchscreen, all of which may or may not beinterconnected by a system bus. Memory 16 may include more than onephysical element, such as built-in ROM, RAM, a removable memory module,and may also include: one or more dictionaries, such as a worddictionary and a phrase dictionary; a set of stored logic by whichprocessor 14 may accept user inputs in order to access informationstored in memory 16; a set of stored logic by which processor 14 maydisplay, via user interface 20, information in response to user inputs.Provided with the present disclosure, those skilled in the art canreadily prepare appropriate computer instructions to perform suchfunctions.

[0030] User interface 20 may include a display such as a liquid crystaldisplay, an active matrix display, or a CRT, and may also include atouchscreen, keypad, or voice input device, for accepting user input.

[0031] Synch interface 18 may include one or more inputs and outputs forcommunicating with various network devices, such as personal computers,remote access servers or the like. Synch interface 18 may be used toconfigure and update the PDA as necessary. Specifically, synch interface18 may be used, as one example, to synchronize PDA 10's data with datastored on another device such as a personal computer or applicationserver, to ensure that PDA 10's data is current. Synch interface 18 mayinclude a conductive set of contacts on the PDA, an infrared or otheroptical interface, or a wireless interface as defined by IEEE 802.11b.Synch interface 18 may also be used to synchronize data between two ormore PDAS.

[0032] The particular configuration shown in FIG. 2 is not crucial tothe functioning of the present embodiment. For example, a device withouta system bus that has a memory and processor contained in one integratedcircuit could be used instead of a separate processor and memory.Similarly, the use of data modules or built-in memory is not critical tothe operation of the SDS. For example, the entire system could operatewithout memory modules by using any conventional wireless datatechnology, such as CDMA, TDMA, or GSM, to retrieve the required datafrom a wireless web server. The system could also operate by accessingdata on a computer or an application server using other wired orwireless communication technologies such as, without limitation, RS-232,Ethernet, infrared or RF wireless communications. The data compressiontechnique described could permit much faster data transfer times insystems where all or portions of the text or information to be displayedare stored separately from the handheld (or other) display device.

Data Compression

[0033] The exemplary embodiment of the handheld device may include tworemovable memory modules, which will be referred to as volume I andvolume II. The data contained in the volume I and volume II modulesrequire approximately two gigabytes of memory. Because the two moduleshold about eight megabytes each, the two gigabytes of data must becompressed to about 16 megabytes to implement the SDS using only twomodules. This is a much higher compression than is available with manycommon data compression methods. For example, “gzip” compression, andsome slightly more efficient methods, may produce compressionpercentages in the range of about 50% to 63%. Compressing 2 gigabytes ofdata into 16 megabytes, in comparison, represents a compressionpercentage of 99.2%, although some of this reduction may be due tojudicious elimination of unnecessary words and/or phrases.

[0034] To achieve this compression, the data may be compressed using twoalgorithms, both part of a utility program such as the programVBDataConvertSourceCode that is included herein as an appendix. Thecompression routine described could be implemented using any programminglanguage; the use of any particular programming language is not criticalto the proper functioning of the described embodiments. A set of basicsteps that may be used to compress data are shown in FIG. 3.

[0035] First, a given uncompressed text, known as a “flat file,” issearched for unique words—i.e., words that are not already stored in aword dictionary, as shown at step 30. When a unique word is found, theword, along with a two-byte token representing it, is stored in a worddictionary that is part of the handheld device's memory, as shown atstep 32. In the present embodiment, the flat files to be compressed arecontained in an input database containing eleven tables, ten of whichare processed by the data convert utility. These ten tables contain thedata for each category used in the SDS. The current categories are: 1)Electrical Component Locators; 2) Engine Performance Technical ServiceBulletins; 3) Torque Specifications; 4) Service Intervals; 5) FluidCapacities; 6) Brake Specifications 7) Brake Bleeding 8) ServiceReminder Indicator Reset Procedures 9) Emission Control ApplicationTables; and 10) Tune-Up Specifications.

[0036] Thus, textual information for each category may be stored as anumber of 2-byte word identification tokens that can represent words ofany length; the words can be displayed in uncompressed or “readable”form when a user accesses the text by “drilling down” through the menusdisplayed on the PDA. Word identification tokens and the words theyrepresent can be stored in memory 16 as fields of the same record in theword dictionary. For example, the word identification token or “word ID”could be stored in a field called an IDX (i.e., an “index”) field, whilethe actual word may be stored in a corresponding field of the samerecord, called a DATA field, as shown below. FIELD NAME FIELD TYPE IDXLong Integer DATA Text

[0037] An exemplary portion of a word dictionary is shown at FIG. 4.Each record begins with the number of the record, and ends with the byte00. Between the record number and the end byte is a variable lengthfield containing the word.

[0038] Further compression of a word dictionary can be accomplished byeliminating the use of a separate word stored as a capitalized word.Instead, all words in the dictionary may be stored uncapitalized and thewords may be capitalized if necessary at the time they are displayed byusing rules to determine if the words would ordinarily be capitalized.For example, a word that is immediately preceded by a period and a spacemay be capitalized.

[0039] When a group of words appears frequently (or, at a minimum, morethan once) in a given text, those groups may be termed “phrases”, andeach phrase may be tokenized. Different sized portions of a text can besearched for phrases to increase compression efficiency, as described inmore detail below. To accomplish phrase tokenization, first the wordtokenized data may be searched for repeating phrases, as shown at step34. It would also be possible, however, to search a flat file forrepeating phrases to be compressed. The order of compression is notcritical to the exemplary embodiment. Any repeating phrases may bestored in a table called a phrase dictionary. The phrase dictionary,also contained in memory 16, could thus contain a word identificationtoken group that represents the phrase, and a given group of word tokenscan be represented by a phrase identification token in the table. In afashion similar to the method of creating the word dictionary, thephrase identification token or “phrase ID” could be stored in a fieldcalled an IDX field. The actual set of word identification tokens orword IDs that represent the phrase may be stored in a correspondingfield of the same record, called a DATA field, as shown below and asrepresented by step 36. FIELD NAME FIELD TYPE IDX Long Integer DATA Setof Word Tokens

[0040] As was the case for the word dictionary, the textual informationrepresented by a phrase may be represented by a two-byte token; theentire phrase represented by the token may be displayed in uncompressedform whenever the two-byte token is encountered in a compressed text(i.e., a particular list of phrase and word tokens that representtextual information). In a given compressed text, a byte “FF” couldsignify that the following byte is the number of a phrase record, todistinguish the byte from a word token.

[0041] An exemplary portion of a phrase dictionary is shown at FIG. 5.Each record begins with the number of the record, and ends with the byte00. Between the record number and the end byte is a variable lengthfield containing the word record numbers (tokens) that represent thephrase. In the example of FIG. 5, record number one (00 01) representsthe phrase “Emission Control Device Applications”, comprised of thewords stored in the word dictionary of FIG. 4. In compressed form, thisphrase could be represented by “FF 00 01”. Record number two representsa 3-word phrase, and record number three represents a 5-word phrase.

[0042] The efficiency of the two-pass compression technique can beaffected (e.g., improved) by adjusting the length of the phrases thatare to be compressed. For example, searching a set of word tokens onlyfor phrases consisting of two words, and storing those two words as aphrase, might not be very efficient, since the storage overhead, oramount of memory used just to store the phrases and their indexes, wouldgreatly reduce any compression efficiency that might be gained from thesecond compression pass.

[0043] Similarly, searching for and storing only phrases that are solong that not many phrases are actually found and stored might providelittle, if any, gain in compression over the first pass. Further, if thephrase dictionary is too long, which might result from including toobroad a range or phrase lengths (e.g., 2 to 20 words in a phrase), theaccess time required to display the text could increase to the point ofdiminishing returns. Specifically, accessing stored text might take solong that users are unsatisfied with the end product.

[0044]FIG. 6 illustrates a set of functions that may be involved ineither optimizing the phrase length or bringing it within acceptablelimits. The maximum desirable access time for a phrase dictionary of anygiven length may be set, as shown at step 40. Also, the maximumacceptable storage size for phrases (e.g., the available storage size)may be set, as illustrated at step 42. Next, a phrase window size may beset, as shown at step 44. Setting the initial phrase window size to beused need not be random. For example, if a phrase length between 4 and12 words has been determined to be optimum for a given text, that phrasewindow size could be used as a starting point in an unknown text. Itshould be realized, however, that a different phrase window size couldbe optimal for any particular text.

[0045] Next, the phrases can be tokenized and stored in a phrasedictionary, shown at step 46 (and described in greater detail withreference to FIG. 3). When that step is done, it may be determinedwhether the phrase dictionary can be accessed within the maximum accesstime, shown at step 48, and whether the phrase dictionary can be storedin the available or acceptable space, step 50. If it is determined atstep 48 or step 50 that the phrase window size is not optimum or atleast acceptable, the phrase window size may be adjusted as shown atstep 52 and part of the process (i.e., steps 46-52) may be repeated asoften as required. The minimum phrase length, the maximum phrase length,or both, may be adjusted at step 52. It is not necessary that theabsolute optimum phrase window size be determined for any given text.Specifically, once it is determined that a compressed text will fitwithin an available memory size and can be accessed within an acceptabletime, the “optimization” procedure may be stopped.

[0046] As part of the data conversion utility, the size of anyparticular article to be displayed can be calculated. Once the size iscalculated, an access time flag can be set if necessary (for example, inthe case of large articles) so that the PDA can display a message suchas “Please wait . . . this may take up to 60 seconds”; this can preventuser frustration while users are waiting for an article to be displayed.

[0047] The compression technique described can be performed “offline”;that is, once it is complete, the compressed text created and stored inmemory can be accessed and displayed without any further use of (ordelay associated with) the compression utility.

[0048] An exemplary smart data system (SDS) could be implemented usingone or more data modules (volumes) that contain automotive data. Atechnician in an automotive repair shop may use a PDA equipped with anSDS data module to quickly reference selected specification-typeinformation from a comprehensive automotive repair database.Alternatively, a stand-alone hand-held device (i.e., a device that doesnot provide the general purpose functionality of a PDA) may be used toprovide specification-type reference information to a technician. Such astand-alone device may or may not have removable data modules.

[0049] For simplicity and ease of operation, an SDS application used inconjunction with a general purpose PDA may launch automatically when amodule is inserted into the PDA; once SDS is launched, a user need onlyselect a menu item that corresponds to the information the user needs inorder to proceed. Of course, the user may also launch the SDSapplication at any time by selecting its icon from the PDA's “home”screen.

[0050] Although an embodiment using two memory modules has beendescribed, the number of modules required to implement SDS is notcritical, and with advances in data storage devices and compression, itis possible that all required data could be stored on a single module;it is also possible that the data could be stored in a PDA's internal(i.e., non-removable) memory.

[0051] In the exemplary embodiment, the five selectable menu items (eachof which is a separate application) may include:

[0052] A Data Viewer menu;

[0053] A Tool Inventory menu;

[0054] A Labor Tracker menu;

[0055] A KnowledgeBase menu; and

[0056] A Racing Schedules menu.

[0057] Any menu item may be accessed by the well-known use of a PDAtouchscreen. Alternatively, any menu item may also be accessed by usinga keypad or keyboard to scroll through menu items or to directly enter aletter or word that will allow access to the menu item that is desired.In such an alternative embodiment, the display may or may not be atouchscreen display. Regardless of the physical implementation, any suchmenu access devices may be referred to generally as “keypads”, while theterm “touchscreen” includes a liquid crystal display, a flat-paneldisplay, a CRT, or other display for providing visual information to auser.

[0058] As an illustration of accessing data, a user could access the“Data Viewer” menu item shown in FIG. 1 by touching the Data Viewer“key” or display area with a stylus. Once activated, the Data Viewerapplication (which is a PalmOS based application, but could be any othersuitable application) displays further information, referred to as quickreference data, regarding particular vehicles. Upon entering the vehicleyear, make and model, (entered, again, via touchscreen or itsequivalent), users can choose to see information, contained in datasets, that is most frequently needed during the course of repairing aparticular vehicle. A first data set containing the information providedby the Data Viewer for each particular year, make, and model of vehicle(and contained, for example, in the volume I module) may include:

[0059] Brake Bleeding Procedures;

[0060] Brake Specifications;

[0061] Emission Control (EC) Applications;

[0062] Fluid Capacities;

[0063] Service Intervals;

[0064] SRI (Maintenance light) Reset Procedures;

[0065] Torque Specifications; and

[0066] Tune-Up Specifications;

[0067] A second data set, which may be contained in the volume IImodule, may include:

[0068] Electrical Component Locators; and

[0069] Engine performance Technical Service Bulletins.

[0070] Other data sets, such as air conditioning specifications, couldalso be easily added to an existing data module or to an additionalmodule. Implementing the SDS using modules (rather than, for example, adedicated device) makes it easy for the data sets to be expanded and/orupdated, and, further, a technician can enter his own data into themodules, as will be described below.

[0071] In the exemplary embodiment, accessing the SDS data may be doneby first selecting the “Data Viewer” application and then selecting ayear, make and model for the desired vehicle using drop-down menus asdescribed above. After a year, make, and model of vehicle is selected, acategory of data may be entered, depending on the data module (i.e.,volume I or volume II) that is installed in the PDA and the informationdesired. Once a category of data, such as “Engine Performance TSBs”, ischosen, users can select an appropriate TSB. The desired information maythen be displayed on the PDA. For example, a user could select andaccess TSBs for a 1995 Chevrolet Camaro (not shown). At the next level,the TSB text that would result if a user then selected the “Low voltagereading or dim lights . . . ” menu item could be displayed (not shown).The Data Viewer application thus allows a user to quickly and easilyfind information for a particular automobile by simply walking over tohis toolbox, rather than across a shop floor, and entering the year,make, model, and information that he is looking for.

[0072] In addition to the Data Viewer software application, the SDS alsomay include four (or more) applications, each having its own sourcecode.

[0073] A “Labor Tracker” is one such possible application; it isdesigned for a technician or user to keep track of the hours worked,organized by repair order. It also gives users the ability to inputtheir own hourly rate, so that at any time, they can calculate whattheir weekly pay will be based on the repair orders they've entered todate. The system could display, for example, that a user has worked 1.7hours on repair order 123456, 4.4 hours on repair order 174365. Theinformation could be displayed in table format, so a technician couldsee at a glance which repair orders were worked on, and for how long,for any given time period (the time periods may be defined during set upof the Labor Tracker application).

[0074] If the user set up an hourly rate of, for example, $25, andworked the above hours during the week ending Sep. 19, 2001, the usercould select the “calculate” key of the PDA and it could display “weekending Sep. 9, 2001” and the amount $152.50 earned so far for that week.The Labor Tracker application also allows a technician to review themoney earned for past periods.

[0075] Another possible application is the “Tool Inventory” application.The Tool Inventory gives a technician the ability to keep track of allthe tools in his toolbox, in the palm of his hand. This can be done byusing one of two methods in the SDS Tool Inventory application program.The first method is the “tool builder”, which allows drop down “menupicks” of what type of tool is being entered, how large it is, what typeof voltage (where applicable), what color it is, and so forth. When adrop-down menu item is selected, the item may then be entered into thehandheld device, along with the quantity. Alternatively, a techniciancan use manual entry via either the on-screen keyboard or theGraffiti®-method, to enter a tool description.

[0076] Another exemplary application is called KnowledgeBase™. TheKnowledgeBase™ is a technician's personal database. The KnowledgeBase™enables technicians to categorize by year, make and model, any kind ofinformation they want to keep track of for that vehicle—whether it is aunique repair operation, a mileage interval for planning or schedulingmaintenance, a record of the owner, and so on. The technician can keephis own personal database right in his PDA's data module. The datastored in modules for the Labor Tracker, Tool Inventory, andKnowledgeBase applications can be retained in the modules even when thePDA is powered off; moreover, by inserting modules into any PDA, thestored data can be accessed.

[0077] Yet another exemplary application is the “Racing Schedules”application for the five popular racing series: NASCAR (North AmericanStock Car Auto Racing), CART (Champion Automotive Racing Teams), NHRA(National Hot Rod Association), IRL (Indy racing league) and SCORE(Southern California Off Road Events).

[0078] Thus, in the exemplary embodiment, SDS may comprise sixapplications; the five that users can select and also the launcheritself, which allows a user to choose which application to use. Eachapplication could include its own source code. Further, the system'sflexibility would easily allow for the additions of furtherapplications, should a need or desire for them arise.

[0079] For example, repair estimates that are now done using boundmanuals may be performed by a PDA using the SDS. Thus, an estimatorcould select a year, make, and model and a particular repair operation,and the SDS could cause the PDA to display the parts, labor, and timefor the operation according to known repair data. Such an estimate couldbe completed in much less time than would be required using a boundvolume to look up the information. As another alternative application,one module might be used for imported cars and another module fordomestic.

[0080] SDS could also be used to assist a technician in training for ASEexams. ASE (the National Institute for Automotive Service Excellence) isa certifying body for automotive technicians, and ASE has 11 exams thata technician must pass in order to be certified as a master technician.An SDS module may thus include practice examinations; a user could havea PDA display a question and an answer, and track the user's practicescore for him, display the results, and indicate where the user needs toimprove.

[0081] Another possible use for SDS is as a diagnostic tool. Forexample, a non-contact infrared thermometer sensor's electronics may beused in conjunction with a removable data module. Without touching asurface, an infrared thermometer can read a heat signature. Once thetemperature of a part of an automobile is taken, it can be integratedinto an SDS database for any particular vehicle or type of vehicle. Thetemperature data, once in the SDS database, could easily be recalled.Such an application might be used in the racing industry for example,where crewmembers are constantly taking tire temperatures, braketemperatures. SDS may then be used as a diagnostic or preventative tool,as one example, to avoid brake fade if it is determined that one brakeis heating up more than another (or is heating up outside of itsexpected range).

[0082] Other uses for temperature data might include reading thetemperature of different cylinders, the exhaust manifold, radiatortemperature, air conditioning condenser temperature, rear windowdefroster temperature, bearing temperatures (such as alternatorbearings, or the bearings of virtually any rotating part). Further, auser might measure the catalytic converter temperature to determine ifthe engine is running normally.

[0083] Thus, actual temperature data may be compared to predicted normaltemperature data, such as data provided by MRIC to make improveddiagnostic decisions. An SDS module (or set of modules) could beprovided that contains an extensive database for normal temperatures forvirtually any make, model, and year of vehicle. The temperature databasecould be accessed in the same way as brake bleeding specifications, asdescribed above. Other types of diagnostic tools could also be used withthe SDS system.

[0084] Future updates to SDS may be made to provide numerous differentfunctions, such as color screens, beaming the information from a server,Internet access to repair data, downloads.

[0085] The SDS may also be used to interface with other, PC-basedsoftware systems to expand and increase the PDA's functionality. Forexample, more detailed information for a particular make, model, andyear of vehicle from a database larger than that which can be containedwithin a PDA may be transmitted, using the PDA's existing infraredtechnology, to a technician's PDA for use with the SDS software. Forexample, if a technician is working on the brakes for a car that isrelatively rare and not contained in a particular SDS module, thetechnician could retrieve the brake information from a larger database.

[0086] Although several possible embodiments of an apparatus, system,and method has been described, various changes and modifications may bemade or suggested by those skilled in the art without departing from thespirit or scope of the claims that follow.

I claim:
 1. A hand-held electronic device for use in accessing anddisplaying textual information, comprising: a display for displayinginformation to a user; a processor; a memory; at least one worddictionary table stored in the memory, the at least one word dictionarytable comprising a first list of unique words that are contained in thetextual information, and further comprising a set of word identificationtokens, each word identification token representing one of the uniquewords in the first list; and at least one phrase dictionary table storedin the memory, the at least one phrase dictionary table comprising asecond list of word identification token groups, each wordidentification token group representing a phrase that is contained inthe textual information, and further comprising a set of phraseidentification tokens, each phrase identification token representing oneof the phrases in the textual information; whereby a data access routinestored in the memory and executable by the processor to receive an inputfrom the user may, in response to the input, display a portion of thetextual information stored in the memory.
 2. The hand-held electronicdevice of claim 1, wherein the memory comprises at least one removabledata module.
 3. The hand-held electronic device of claim 1, wherein eachphrase occurs at least twice within the textual information.
 4. Thehand-held electronic device of claim 1, wherein each phrase comprises atleast 3 words contained within the textual information.
 5. The hand-heldelectronic device of claim 1, wherein the portion of the textualinformation is displayed in uncompressed form.
 6. The hand-heldelectronic device of claim 1, wherein the textual information comprisesautomotive repair and service information.
 7. The hand-held electronicdevice of claim 1, wherein the display is a touchscreen display capableof accepting the user's input.
 8. The hand-held electronic device ofclaim 1, further comprising a keypad for accepting the user's input. 9.The hand-held electronic device of claim 1, further comprising a dataaccess routine stored in the memory and executable by the processor toreceive an input from the user and, in response to the input, to displaya portion of the textual information stored in the memory.
 10. Amachine-readable storage medium containing a data structure for storingtextual information, the data structure comprising: at least one worddictionary table, the at least one word dictionary table comprising afirst list of unique words that are contained in the textual informationand further comprising a set of word identification tokens, each wordidentification token representing one of the unique words in the firstlist; and at least one phrase dictionary table, the at least one phrasedictionary table comprising a second list of word identification tokengroups, each word identification token group representing a phrase thatis contained in the textual information, and further comprising a set ofphrase identification tokens, each phrase identification tokenrepresenting one of the phrases in the textual information.
 11. Themachine-readable storage medium of claim 10, wherein each phrase occursat least twice within the textual information.
 12. The machine-readablestorage medium of claim 10, wherein each phrase comprises at least 3words contained within the textual information.
 13. The machine-readablestorage medium of claim 10, wherein the textual information comprisesautomotive repair and service information.
 14. A system for accessingand displaying textual information, comprising: a display for displayinginformation to a user; a processor; a memory; at least one worddictionary table stored in the memory, the at least one word dictionarytable comprising a first list of unique words that are contained in thetextual information and further comprising a set of word identificationtokens, each word identification token representing one of the uniquewords in the first list; and at least one phrase dictionary table storedin the memory, the at least one phrase dictionary table comprising asecond list of word identification token groups, each wordidentification token group representing a phrase that is contained inthe textual information, and further comprising a set of phraseidentification tokens, each phrase identification token representing oneof the phrases in the textual information; whereby a data access routinestored in the memory and executable by the processor to receive an inputfrom the user may, in response to the input, display a portion of thetextual information stored in the memory.
 15. The system of claim 14,wherein the memory comprises at least one removable data module.
 16. Thesystem of claim 14, further comprising a data access routine stored inthe memory and executable by the processor to receive an input from theuser and, in response to the input, to display a portion of the textualinformation stored in the memory.
 17. The system of claim 14, whereineach phrase is repeated at least twice within the textual information.18. The system of claim 14, wherein each phrase comprises at least 3words contained within the textual information.
 19. The system of claim14, wherein the portion of the textual information is displayed inuncompressed form.
 20. The system of claim 14, wherein the textualinformation comprises automotive technical information.
 21. The systemof claim 14, further comprising a keypad for accepting the user's input.